if
утверждениеif (condition) {
statements;
}
';'
true
- подобное условие, утверждение исполняетсяfalse
-подобное, утверждение пропускается
In [1]:
function onFindBigger(first,second) {
bigger = first;
if (bigger < second) {
bigger = second;
}
console.log("Большее: " + bigger);
}
function onIsNumber(selector) {
var str = selector;
name = selector.substr(4);
if (+str) { // Если сттрока является номером, +str не будет NaN
console.log(name + ' это номер');
}
if (!(+str)) { // если строка не является номером, +str будет NaN
console.log(name + ' это не номер');
}
}
onFindBigger(2,5)
onIsNumber("12")
Out[1]:
if-else
утверждениеtrue
и в другой если false
if (expression) {
statement1;
} else {
statement2;
}
true
-подобное, вызывается первое утверждениеfalse
-подобное, вызывается второе утверждение
In [10]:
function onEvenOdd(str) {
number = +str;
if (number % 2) {
console.log('Число ' + number + ' не четное');
} else {
console.log('Число ' + number + ' четное');
}
}
function onIsNumber(str) {
if (+str) {
console.log('Это число');
} else {
console.log('Это не число');
}
}
onEvenOdd(23)
onIsNumber("pivet")
Out[10]:
if
утвержденияif
и if-else
могут быть вложенными, то есть использоваться внутри if
и else
утвержденийif (expression) {
if (expression) {
statement;
} else {
statement;
}
} else {
statement;
}
{ … }
чтобы избежать неоднозначностиif
утверждений
In [11]:
function onCompare(first,second) {
if (first === second) {
console.log(first + ' = ' + second);
} else {
if (first > second) {
console.log(first + ' > ' + second);
} else {
console.log(first + ' < ' + second);
}
}
}
function onOddEven(str) {
n = +str;
if (n) {
if (n % 2) {
console.log('Число нечетное');
} else {
console.log('Число четное');
}
} else { //n is NaN
console.log('Это не число!');
}
}
onOddEven("22")
onCompare("123","22")
Out[11]:
In [12]:
function onCheckNumbers(text) {
vowels = 0,
other = 0,
numbers = 0;
for (var i = 0; i < text.length; i+=1) {
var character = text[i];
if (character === 'a' || character === 'A') {
vowels+=1;
} else if (character === 'e' || character === 'E') {
vowels+=1;
} else if (character === 'u' || character === 'U') {
vowels+=1;
} else if (character === 'o' || character === 'o') {
vowels+=1;
} else if (character === 'i' || character === 'i') {
vowels+=1;
} else if ('0' <= character && character <= '9') {
numbers+=1;
} else {
other+=1;
}
}
console.log("Гласных: " + vowels);
console.log("Цифр: " + numbers);
console.log("Других: " + other);
}
Out[12]:
In [5]:
onCheckNumbers('dsadfsfs32')
Out[5]:
In [6]:
function onDay(dayIndex) {
var day;
switch (dayIndex) {
case 1: day = "Понедельник"; break;
case 2: day = "Вторник"; break;
case 3: day = "Среда"; break;
case 4: day = "Четверг"; break;
case 5: day = "Пятница"; break;
case 6: day = "Суббота"; break;
case 7: day = "Воскресенье"; break;
default: day = "Ошибка ввода"; break;
}
console.log(day);
}
onDay(2)
Out[6]:
switch
case
утверждении отсутствует break
, код продолжает выполняться дальшеbreak
In [7]:
function onDay(dayIndex) {
var result;
switch (dayIndex) {
case 1:
case 2:
case 3:
case 4:
case 5:
result = 'Рабочий день';
break;
case 6:
case 7:
result = 'Выходной';
break;
default: result = 'Ошибка!'; break;
}
console.log(result);
}
onDay(2)
Out[7]:
In [5]:
function onScore(str) {
var score = +str;
switch (true) {
case !score: // true пока счет NaN
case score < 2 || score > 6:
console.log('Ошибка ввода');
break;
case score < 3.5:
console.log('Плохо ' + score);
break;
case score < 4.5:
console.log('Хорошо ' + score);
break;
case score < 5.5:
console.log('Очень хорошо ' + score);
break;
default:
console.log('Превосходно ' + score);
break;
}
}
onScore(4)
Out[5]:
In [7]:
function onFallThrough(output) {
var foo = output,
output = 'Вывод: ';
switch (foo) {
case 10:
output += 'Так ';
case 1:
output += 'это ';
case 2:
output += 'Твое ';
case 3:
output += 'Имя';
case 4:
output += '?';
console.log(output);
break;
case 5:
output += '!';
console.log(output);
break;
default:
console.log('Пожалуйста введите число о 0 до 6!');
}
}
onFallThrough(2)
Out[7]:
false
, 0
, ""
/ ''
, null
, undefined
, NaN
In [ ]: